1 module directx.d3d10; 2 /*------------------------------------------------------------------------------------- 3 * 4 * Copyright (c) Microsoft Corporation 5 * 6 *-------------------------------------------------------------------------------------*/ 7 8 version(Windows): 9 version(Direct3D_10): 10 11 public import directx.dxgi; 12 public import directx.d3dcommon; 13 public import directx.d3d10sdklayers; 14 public import directx.d3d10misc; 15 public import directx.d3d10shader; 16 public import directx.d3d10effect; 17 18 enum D3D10_16BIT_INDEX_STRIP_CUT_VALUE = ( 0xffff ); 19 enum D3D10_32BIT_INDEX_STRIP_CUT_VALUE = ( 0xffffffff ); 20 enum D3D10_8BIT_INDEX_STRIP_CUT_VALUE = ( 0xff ); 21 enum D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = ( 9 ); 22 enum D3D10_CLIP_OR_CULL_DISTANCE_COUNT = ( 8 ); 23 enum D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = ( 2 ); 24 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = ( 14 ); 25 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = ( 4 ); 26 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = ( 32 ); 27 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = ( 15 ); 28 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = ( 4 ); 29 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = ( 15 ); 30 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = ( 1 ); 31 enum D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = ( 1 ); 32 enum D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = ( 64 ); 33 enum D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = ( 4 ); 34 enum D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = ( 1 ); 35 enum D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = ( 1 ); 36 enum D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = ( 1 ); 37 enum D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = ( 32 ); 38 enum D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = ( 1 ); 39 enum D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = ( 128 ); 40 enum D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = ( 1 ); 41 enum D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = ( 1 ); 42 enum D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = ( 128 ); 43 enum D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = ( 1 ); 44 enum D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = ( 16 ); 45 enum D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = ( 1 ); 46 enum D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = ( 1 ); 47 enum D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = ( 16 ); 48 enum D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = ( 32 ); 49 enum D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = ( 4 ); 50 enum D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 51 enum D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = ( 4096 ); 52 enum D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST= ( 3 ); 53 enum D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = ( 3 ); 54 enum D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX= ( 10 ); 55 enum D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN= ( -10 ); 56 enum D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = ( -8 ); 57 enum D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = ( 7 ); 58 enum D3D10_DEFAULT_BLEND_FACTOR_ALPHA = ( 1.0f ); 59 enum D3D10_DEFAULT_BLEND_FACTOR_BLUE= ( 1.0f ); 60 enum D3D10_DEFAULT_BLEND_FACTOR_GREEN = ( 1.0f ); 61 enum D3D10_DEFAULT_BLEND_FACTOR_RED = ( 1.0f ); 62 enum D3D10_DEFAULT_BORDER_COLOR_COMPONENT = ( 0.0f ); 63 enum D3D10_DEFAULT_DEPTH_BIAS = ( 0 ); 64 enum D3D10_DEFAULT_DEPTH_BIAS_CLAMP = ( 0.0f ); 65 enum D3D10_DEFAULT_MAX_ANISOTROPY = ( 16.0f ); 66 enum D3D10_DEFAULT_MIP_LOD_BIAS = ( 0.0f ); 67 enum D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX= ( 0 ); 68 enum D3D10_DEFAULT_SAMPLE_MASK = ( 0xffffffff ); 69 enum D3D10_DEFAULT_SCISSOR_ENDX = ( 0 ); 70 enum D3D10_DEFAULT_SCISSOR_ENDY = ( 0 ); 71 enum D3D10_DEFAULT_SCISSOR_STARTX = ( 0 ); 72 enum D3D10_DEFAULT_SCISSOR_STARTY = ( 0 ); 73 enum D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = ( 0.0f ); 74 enum D3D10_DEFAULT_STENCIL_READ_MASK= ( 0xff ); 75 enum D3D10_DEFAULT_STENCIL_REFERENCE= ( 0 ); 76 enum D3D10_DEFAULT_STENCIL_WRITE_MASK = ( 0xff ); 77 enum D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = ( 0 ); 78 enum D3D10_DEFAULT_VIEWPORT_HEIGHT = ( 0 ); 79 enum D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = ( 0.0f ); 80 enum D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = ( 0.0f ); 81 enum D3D10_DEFAULT_VIEWPORT_TOPLEFTX= ( 0 ); 82 enum D3D10_DEFAULT_VIEWPORT_TOPLEFTY= ( 0 ); 83 enum D3D10_DEFAULT_VIEWPORT_WIDTH = ( 0 ); 84 enum D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = ( 0.6 ); 85 enum D3D10_FLOAT32_MAX = ( 3.402823466e+38f ); 86 enum D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = ( 0.6f ); 87 enum D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = ( 2.4f ); 88 enum D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = ( 1.0f ); 89 enum D3D10_FLOAT_TO_SRGB_OFFSET = ( 0.055f ); 90 enum D3D10_FLOAT_TO_SRGB_SCALE_1 = ( 12.92f ); 91 enum D3D10_FLOAT_TO_SRGB_SCALE_2 = ( 1.055f ); 92 enum D3D10_FLOAT_TO_SRGB_THRESHOLD = ( 0.0031308f ); 93 enum D3D10_FTOI_INSTRUCTION_MAX_INPUT = ( 2147483647.999f ); 94 enum D3D10_FTOI_INSTRUCTION_MIN_INPUT = ( -2147483648.999f ); 95 enum D3D10_FTOU_INSTRUCTION_MAX_INPUT = ( 4294967295.999f ); 96 enum D3D10_FTOU_INSTRUCTION_MIN_INPUT = ( 0.0f ); 97 enum D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = ( 1 ); 98 enum D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 99 enum D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = ( 1 ); 100 enum D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = ( 2 ); 101 enum D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = ( 1 ); 102 enum D3D10_GS_INPUT_REGISTER_COMPONENTS = ( 4 ); 103 enum D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 104 enum D3D10_GS_INPUT_REGISTER_COUNT = ( 16 ); 105 enum D3D10_GS_INPUT_REGISTER_READS_PER_INST = ( 2 ); 106 enum D3D10_GS_INPUT_REGISTER_READ_PORTS = ( 1 ); 107 enum D3D10_GS_INPUT_REGISTER_VERTICES = ( 6 ); 108 enum D3D10_GS_OUTPUT_ELEMENTS = ( 32 ); 109 enum D3D10_GS_OUTPUT_REGISTER_COMPONENTS = ( 4 ); 110 enum D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 111 enum D3D10_GS_OUTPUT_REGISTER_COUNT = ( 32 ); 112 enum D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = ( 0 ); 113 enum D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = ( 0 ); 114 enum D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = ( 0 ); 115 enum D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = ( 1 ); 116 enum D3D10_IA_INSTANCE_ID_BIT_COUNT = ( 32 ); 117 enum D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = ( 32 ); 118 enum D3D10_IA_PRIMITIVE_ID_BIT_COUNT= ( 32 ); 119 enum D3D10_IA_VERTEX_ID_BIT_COUNT = ( 32 ); 120 enum D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = ( 16 ); 121 enum D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = ( 64 ); 122 enum D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = ( 16 ); 123 enum D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = ( 0xffffffff ); 124 enum D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = ( 0xffffffff ); 125 enum D3D10_LINEAR_GAMMA = ( 1.0f ); 126 enum D3D10_MAX_BORDER_COLOR_COMPONENT = ( 1.0f ); 127 enum D3D10_MAX_DEPTH= ( 1.0f ); 128 enum D3D10_MAX_MAXANISOTROPY= ( 16 ); 129 enum D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = ( 32 ); 130 enum D3D10_MAX_POSITION_VALUE = ( 3.402823466e+34f ); 131 enum D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = ( 17 ); 132 enum D3D10_MIN_BORDER_COLOR_COMPONENT = ( 0.0f ); 133 enum D3D10_MIN_DEPTH= ( 0.0f ); 134 enum D3D10_MIN_MAXANISOTROPY= ( 0 ); 135 enum D3D10_MIP_LOD_BIAS_MAX = ( 15.99f ); 136 enum D3D10_MIP_LOD_BIAS_MIN = ( -16.0f ); 137 enum D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = ( 6 ); 138 enum D3D10_MIP_LOD_RANGE_BIT_COUNT = ( 8 ); 139 enum D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = ( 1.4f ); 140 enum D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = ( 0 ); 141 enum D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = ( 13 ); 142 enum D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT= ( 15 ); 143 enum D3D10_PS_FRONTFACING_DEFAULT_VALUE = ( 0xffffffff ); 144 enum D3D10_PS_FRONTFACING_FALSE_VALUE = ( 0 ); 145 enum D3D10_PS_FRONTFACING_TRUE_VALUE= ( 0xffffffff ); 146 enum D3D10_PS_INPUT_REGISTER_COMPONENTS = ( 4 ); 147 enum D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 148 enum D3D10_PS_INPUT_REGISTER_COUNT = ( 32 ); 149 enum D3D10_PS_INPUT_REGISTER_READS_PER_INST = ( 2 ); 150 enum D3D10_PS_INPUT_REGISTER_READ_PORTS = ( 1 ); 151 enum D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = ( 0.0f ); 152 enum D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = ( 1 ); 153 enum D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 154 enum D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = ( 1 ); 155 enum D3D10_PS_OUTPUT_REGISTER_COMPONENTS = ( 4 ); 156 enum D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 157 enum D3D10_PS_OUTPUT_REGISTER_COUNT = ( 8 ); 158 enum D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = ( 0.5f ); 159 enum D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = ( 4096 ); 160 enum D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = ( 27 ); 161 enum D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT= ( 4096 ); 162 enum D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = ( 4096 ); 163 enum D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = ( 32 ); 164 enum D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = ( 32 ); 165 enum D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = ( 8192 ); 166 enum D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = ( 1024 ); 167 enum D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = ( 4096 ); 168 enum D3D10_REQ_MAXANISOTROPY= ( 16 ); 169 enum D3D10_REQ_MIP_LEVELS = ( 14 ); 170 enum D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES= ( 2048 ); 171 enum D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = ( 4096 ); 172 enum D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH= ( 8192 ); 173 enum D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = ( 128 ); 174 enum D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = ( 20 ); 175 enum D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = ( 4096 ); 176 enum D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = ( 512 ); 177 enum D3D10_REQ_TEXTURE1D_U_DIMENSION= ( 8192 ); 178 enum D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = ( 512 ); 179 enum D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = ( 8192 ); 180 enum D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = ( 2048 ); 181 enum D3D10_REQ_TEXTURECUBE_DIMENSION= ( 8192 ); 182 enum D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = ( 0 ); 183 enum D3D10_SHADER_MAJOR_VERSION = ( 4 ); 184 enum D3D10_SHADER_MINOR_VERSION = ( 0 ); 185 enum D3D10_SHIFT_INSTRUCTION_PAD_VALUE = ( 0 ); 186 enum D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = ( 5 ); 187 enum D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = ( 8 ); 188 enum D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = ( 2048 ); 189 enum D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = ( 256 ); 190 enum D3D10_SO_BUFFER_SLOT_COUNT = ( 4 ); 191 enum D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = ( 0xffffffff ); 192 enum D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = ( 1 ); 193 enum D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = ( 64 ); 194 enum D3D10_SRGB_GAMMA = ( 2.2f ); 195 enum D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = ( 12.92f ); 196 enum D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = ( 1.055f ); 197 enum D3D10_SRGB_TO_FLOAT_EXPONENT = ( 2.4f ); 198 enum D3D10_SRGB_TO_FLOAT_OFFSET = ( 0.055f ); 199 enum D3D10_SRGB_TO_FLOAT_THRESHOLD = ( 0.04045f ); 200 enum D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = ( 0.5f ); 201 enum D3D10_STANDARD_COMPONENT_BIT_COUNT = ( 32 ); 202 enum D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = ( 64 ); 203 enum D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = ( 4 ); 204 enum D3D10_STANDARD_PIXEL_COMPONENT_COUNT = ( 128 ); 205 enum D3D10_STANDARD_PIXEL_ELEMENT_COUNT = ( 32 ); 206 enum D3D10_STANDARD_VECTOR_SIZE = ( 4 ); 207 enum D3D10_STANDARD_VERTEX_ELEMENT_COUNT = ( 16 ); 208 enum D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = ( 64 ); 209 enum D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = ( 8 ); 210 enum D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = ( 6 ); 211 enum D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = ( 18 ); 212 enum D3D10_UNBOUND_MEMORY_ACCESS_RESULT = ( 0 ); 213 enum D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = ( 15 ); 214 enum D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = ( 16 ); 215 enum D3D10_VIEWPORT_BOUNDS_MAX = ( 16383 ); 216 enum D3D10_VIEWPORT_BOUNDS_MIN = ( -16384 ); 217 enum D3D10_VS_INPUT_REGISTER_COMPONENTS = ( 4 ); 218 enum D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 219 enum D3D10_VS_INPUT_REGISTER_COUNT = ( 16 ); 220 enum D3D10_VS_INPUT_REGISTER_READS_PER_INST = ( 2 ); 221 enum D3D10_VS_INPUT_REGISTER_READ_PORTS = ( 1 ); 222 enum D3D10_VS_OUTPUT_REGISTER_COMPONENTS = ( 4 ); 223 enum D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = ( 32 ); 224 enum D3D10_VS_OUTPUT_REGISTER_COUNT = ( 16 ); 225 enum D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = ( 10 ); 226 enum D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = ( 25 ); 227 enum D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = ( 25 ); 228 enum D3D_MAJOR_VERSION = ( 10 ); 229 enum D3D_MINOR_VERSION = ( 0 ); 230 enum D3D_SPEC_DATE_DAY = ( 8 ); 231 enum D3D_SPEC_DATE_MONTH = ( 8 ); 232 enum D3D_SPEC_DATE_YEAR = ( 2006 ); 233 enum D3D_SPEC_VERSION = ( 1.050005 ); 234 235 alias D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT; 236 alias D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT; 237 238 enum _FACD3D10 = 0x879; 239 enum _FACD3D10DEBUG = _FACD3D10 + 1; 240 241 pure nothrow @safe @nogc { 242 HRESULT MAKE_D3D10_HRESULT(UINT code) { 243 return MAKE_HRESULT(1, _FACD3D10, code); 244 } 245 246 HRESULT MAKE_D3D10_STATUS(UINT code) { 247 return MAKE_HRESULT(0, _FACD3D10, code); 248 } 249 } 250 251 /* Direct3D errors are now found in winerror.h */ 252 253 alias DWORD D3D10_INPUT_CLASSIFICATION; 254 enum : D3D10_INPUT_CLASSIFICATION 255 { 256 D3D10_INPUT_PER_VERTEX_DATA = 0, 257 D3D10_INPUT_PER_INSTANCE_DATA = 1 258 } 259 260 enum D3D10_APPEND_ALIGNED_ELEMENT = ( 0xffffffff ); 261 262 struct D3D10_INPUT_ELEMENT_DESC 263 { 264 LPCSTR SemanticName; 265 UINT SemanticIndex; 266 DXGI_FORMAT Format; 267 UINT InputSlot; 268 UINT AlignedByteOffset; 269 D3D10_INPUT_CLASSIFICATION InputSlotClass; 270 UINT InstanceDataStepRate; 271 } 272 273 alias DWORD D3D10_FILL_MODE; 274 enum : D3D10_FILL_MODE 275 { 276 D3D10_FILL_WIREFRAME = 2, 277 D3D10_FILL_SOLID = 3 278 } 279 280 alias D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY; 281 alias D3D_PRIMITIVE D3D10_PRIMITIVE; 282 283 alias DWORD D3D10_CULL_MODE; 284 enum : D3D10_CULL_MODE 285 { 286 D3D10_CULL_NONE = 1, 287 D3D10_CULL_FRONT = 2, 288 D3D10_CULL_BACK = 3 289 } 290 291 struct D3D10_SO_DECLARATION_ENTRY 292 { 293 LPCSTR SemanticName; 294 UINT SemanticIndex; 295 BYTE StartComponent; 296 BYTE ComponentCount; 297 BYTE OutputSlot; 298 } 299 300 struct D3D10_VIEWPORT 301 { 302 INT TopLeftX; 303 INT TopLeftY; 304 UINT Width; 305 UINT Height; 306 FLOAT MinDepth; 307 FLOAT MaxDepth; 308 } 309 310 alias DWORD D3D10_RESOURCE_DIMENSION; 311 enum : D3D10_RESOURCE_DIMENSION 312 { 313 D3D10_RESOURCE_DIMENSION_UNKNOWN = 0, 314 D3D10_RESOURCE_DIMENSION_BUFFER = 1, 315 D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2, 316 D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3, 317 D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4 318 } 319 320 alias D3D_SRV_DIMENSION D3D10_SRV_DIMENSION; 321 322 alias DWORD D3D10_DSV_DIMENSION; 323 enum : D3D10_DSV_DIMENSION 324 { 325 D3D10_DSV_DIMENSION_UNKNOWN = 0, 326 D3D10_DSV_DIMENSION_TEXTURE1D = 1, 327 D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2, 328 D3D10_DSV_DIMENSION_TEXTURE2D = 3, 329 D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4, 330 D3D10_DSV_DIMENSION_TEXTURE2DMS = 5, 331 D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6 332 } 333 334 alias DWORD D3D10_RTV_DIMENSION; 335 enum : D3D10_RTV_DIMENSION 336 { 337 D3D10_RTV_DIMENSION_UNKNOWN = 0, 338 D3D10_RTV_DIMENSION_BUFFER = 1, 339 D3D10_RTV_DIMENSION_TEXTURE1D = 2, 340 D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3, 341 D3D10_RTV_DIMENSION_TEXTURE2D = 4, 342 D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5, 343 D3D10_RTV_DIMENSION_TEXTURE2DMS = 6, 344 D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, 345 D3D10_RTV_DIMENSION_TEXTURE3D = 8 346 } 347 348 alias DWORD D3D10_USAGE; 349 enum : D3D10_USAGE 350 { 351 D3D10_USAGE_DEFAULT = 0, 352 D3D10_USAGE_IMMUTABLE = 1, 353 D3D10_USAGE_DYNAMIC = 2, 354 D3D10_USAGE_STAGING = 3 355 } 356 357 alias DWORD D3D10_BIND_FLAG; 358 enum : D3D10_BIND_FLAG 359 { 360 D3D10_BIND_VERTEX_BUFFER = 0x1L, 361 D3D10_BIND_INDEX_BUFFER = 0x2L, 362 D3D10_BIND_CONSTANT_BUFFER = 0x4L, 363 D3D10_BIND_SHADER_RESOURCE = 0x8L, 364 D3D10_BIND_STREAM_OUTPUT = 0x10L, 365 D3D10_BIND_RENDER_TARGET = 0x20L, 366 D3D10_BIND_DEPTH_STENCIL = 0x40L 367 } 368 369 alias DWORD D3D10_CPU_ACCESS_FLAG; 370 enum : D3D10_CPU_ACCESS_FLAG 371 { 372 D3D10_CPU_ACCESS_WRITE = 0x10000L, 373 D3D10_CPU_ACCESS_READ = 0x20000L 374 } 375 376 alias DWORD D3D10_RESOURCE_MISC_FLAG; 377 enum : D3D10_RESOURCE_MISC_FLAG 378 { 379 D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1L, 380 D3D10_RESOURCE_MISC_SHARED = 0x2L, 381 D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4L, 382 D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x10L, 383 D3D10_RESOURCE_MISC_GDI_COMPATIBLE = 0x20L 384 } 385 386 alias DWORD D3D10_MAP; 387 enum : D3D10_MAP 388 { 389 D3D10_MAP_READ = 1, 390 D3D10_MAP_WRITE = 2, 391 D3D10_MAP_READ_WRITE = 3, 392 D3D10_MAP_WRITE_DISCARD = 4, 393 D3D10_MAP_WRITE_NO_OVERWRITE = 5 394 } 395 396 alias DWORD D3D10_MAP_FLAG; 397 enum : D3D10_MAP_FLAG 398 { 399 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000L 400 } 401 402 alias DWORD D3D10_RAISE_FLAG; 403 enum : D3D10_RAISE_FLAG 404 { 405 D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1L 406 } 407 408 alias DWORD D3D10_CLEAR_FLAG; 409 enum : D3D10_CLEAR_FLAG 410 { 411 D3D10_CLEAR_DEPTH = 0x1L, 412 D3D10_CLEAR_STENCIL = 0x2L 413 } 414 415 alias RECT D3D10_RECT; 416 417 struct D3D10_BOX 418 { 419 UINT left; 420 UINT top; 421 UINT front; 422 UINT right; 423 UINT bottom; 424 UINT back; 425 } 426 427 mixin(uuid!(ID3D10DeviceChild, "9B7E4C00-342C-4106-A19F-4F2704F689F0")); 428 extern (C++) interface ID3D10DeviceChild : IUnknown { 429 void GetDevice(ID3D10Device* ppDevice); 430 HRESULT GetPrivateData( 431 REFGUID guid, 432 UINT* pDataSize, 433 void* pData); 434 435 HRESULT SetPrivateData( 436 REFGUID guid, 437 UINT DataSize, 438 const(void)* pData); 439 440 HRESULT SetPrivateDataInterface( 441 REFGUID guid, 442 const IUnknown pData); 443 } 444 445 enum D3D10_COMPARISON_FUNC 446 { 447 D3D10_COMPARISON_NEVER = 1, 448 D3D10_COMPARISON_LESS = 2, 449 D3D10_COMPARISON_EQUAL = 3, 450 D3D10_COMPARISON_LESS_EQUAL = 4, 451 D3D10_COMPARISON_GREATER = 5, 452 D3D10_COMPARISON_NOT_EQUAL = 6, 453 D3D10_COMPARISON_GREATER_EQUAL = 7, 454 D3D10_COMPARISON_ALWAYS = 8 455 } 456 457 alias DWORD D3D10_DEPTH_WRITE_MASK; 458 enum : D3D10_DEPTH_WRITE_MASK 459 { 460 D3D10_DEPTH_WRITE_MASK_ZERO = 0, 461 D3D10_DEPTH_WRITE_MASK_ALL = 1 462 } 463 464 alias DWORD D3D10_STENCIL_OP; 465 enum : D3D10_STENCIL_OP 466 { 467 D3D10_STENCIL_OP_KEEP = 1, 468 D3D10_STENCIL_OP_ZERO = 2, 469 D3D10_STENCIL_OP_REPLACE = 3, 470 D3D10_STENCIL_OP_INCR_SAT = 4, 471 D3D10_STENCIL_OP_DECR_SAT = 5, 472 D3D10_STENCIL_OP_INVERT = 6, 473 D3D10_STENCIL_OP_INCR = 7, 474 D3D10_STENCIL_OP_DECR = 8 475 } 476 477 struct D3D10_DEPTH_STENCILOP_DESC 478 { 479 D3D10_STENCIL_OP StencilFailOp; 480 D3D10_STENCIL_OP StencilDepthFailOp; 481 D3D10_STENCIL_OP StencilPassOp; 482 D3D10_COMPARISON_FUNC StencilFunc; 483 } 484 485 struct D3D10_DEPTH_STENCIL_DESC 486 { 487 BOOL DepthEnable; 488 D3D10_DEPTH_WRITE_MASK DepthWriteMask; 489 D3D10_COMPARISON_FUNC DepthFunc; 490 BOOL StencilEnable; 491 UINT8 StencilReadMask; 492 UINT8 StencilWriteMask; 493 D3D10_DEPTH_STENCILOP_DESC FrontFace; 494 D3D10_DEPTH_STENCILOP_DESC BackFace; 495 } 496 497 mixin(uuid!(ID3D10DepthStencilState, "2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675")); 498 extern (C++) interface ID3D10DepthStencilState : ID3D10DeviceChild { 499 void GetDesc(D3D10_DEPTH_STENCIL_DESC* pDesc); 500 501 } 502 503 alias DWORD D3D10_BLEND; 504 enum : D3D10_BLEND 505 { 506 D3D10_BLEND_ZERO = 1, 507 D3D10_BLEND_ONE = 2, 508 D3D10_BLEND_SRC_COLOR = 3, 509 D3D10_BLEND_INV_SRC_COLOR = 4, 510 D3D10_BLEND_SRC_ALPHA = 5, 511 D3D10_BLEND_INV_SRC_ALPHA = 6, 512 D3D10_BLEND_DEST_ALPHA = 7, 513 D3D10_BLEND_INV_DEST_ALPHA = 8, 514 D3D10_BLEND_DEST_COLOR = 9, 515 D3D10_BLEND_INV_DEST_COLOR = 10, 516 D3D10_BLEND_SRC_ALPHA_SAT = 11, 517 D3D10_BLEND_BLEND_FACTOR = 14, 518 D3D10_BLEND_INV_BLEND_FACTOR = 15, 519 D3D10_BLEND_SRC1_COLOR = 16, 520 D3D10_BLEND_INV_SRC1_COLOR = 17, 521 D3D10_BLEND_SRC1_ALPHA = 18, 522 D3D10_BLEND_INV_SRC1_ALPHA = 19 523 } 524 525 alias DWORD D3D10_BLEND_OP; 526 enum : D3D10_BLEND_OP 527 { 528 D3D10_BLEND_OP_ADD = 1, 529 D3D10_BLEND_OP_SUBTRACT = 2, 530 D3D10_BLEND_OP_REV_SUBTRACT = 3, 531 D3D10_BLEND_OP_MIN = 4, 532 D3D10_BLEND_OP_MAX = 5 533 } 534 535 alias DWORD D3D10_COLOR_WRITE_ENABLE; 536 enum : D3D10_COLOR_WRITE_ENABLE 537 { 538 D3D10_COLOR_WRITE_ENABLE_RED = 1, 539 D3D10_COLOR_WRITE_ENABLE_GREEN = 2, 540 D3D10_COLOR_WRITE_ENABLE_BLUE = 4, 541 D3D10_COLOR_WRITE_ENABLE_ALPHA = 8, 542 D3D10_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN ) | D3D10_COLOR_WRITE_ENABLE_BLUE ) | D3D10_COLOR_WRITE_ENABLE_ALPHA ) 543 } 544 545 struct D3D10_BLEND_DESC 546 { 547 BOOL AlphaToCoverageEnable; 548 BOOL[8] BlendEnable; 549 D3D10_BLEND SrcBlend; 550 D3D10_BLEND DestBlend; 551 D3D10_BLEND_OP BlendOp; 552 D3D10_BLEND SrcBlendAlpha; 553 D3D10_BLEND DestBlendAlpha; 554 D3D10_BLEND_OP BlendOpAlpha; 555 UINT8[8] RenderTargetWriteMask; 556 } 557 558 mixin(uuid!(ID3D10BlendState, "EDAD8D19-8A35-4d6d-8566-2EA276CDE161")); 559 extern (C++) interface ID3D10BlendState : ID3D10DeviceChild { 560 void GetDesc(D3D10_BLEND_DESC* pDesc); 561 562 } 563 564 struct D3D10_RASTERIZER_DESC 565 { 566 D3D10_FILL_MODE FillMode; 567 D3D10_CULL_MODE CullMode; 568 BOOL FrontCounterClockwise; 569 INT DepthBias; 570 FLOAT DepthBiasClamp; 571 FLOAT SlopeScaledDepthBias; 572 BOOL DepthClipEnable; 573 BOOL ScissorEnable; 574 BOOL MultisampleEnable; 575 BOOL AntialiasedLineEnable; 576 } 577 578 mixin(uuid!(ID3D10RasterizerState, "A2A07292-89AF-4345-BE2E-C53D9FBB6E9F")); 579 extern (C++) interface ID3D10RasterizerState : ID3D10DeviceChild { 580 void GetDesc(D3D10_RASTERIZER_DESC *pDesc); 581 582 } 583 584 pure nothrow @safe @nogc 585 UINT D3D10CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) { 586 return MipSlice + ArraySlice * MipLevels; 587 } 588 589 struct D3D10_SUBRESOURCE_DATA 590 { 591 const(void)* pSysMem; 592 UINT SysMemPitch; 593 UINT SysMemSlicePitch; 594 } 595 596 mixin(uuid!(ID3D10Resource, "9B7E4C01-342C-4106-A19F-4F2704F689F0")); 597 extern (C++) interface ID3D10Resource : ID3D10DeviceChild { 598 void GetType(D3D10_RESOURCE_DIMENSION* rType); 599 void SetEvictionPriority(UINT EvictionPriority); 600 UINT GetEvictionPriority(); 601 } 602 603 struct D3D10_BUFFER_DESC 604 { 605 UINT ByteWidth; 606 D3D10_USAGE Usage; 607 UINT BindFlags; 608 UINT CPUAccessFlags; 609 UINT MiscFlags; 610 } 611 612 mixin(uuid!(ID3D10Buffer, "9B7E4C02-342C-4106-A19F-4F2704F689F0")); 613 extern (C++) interface ID3D10Buffer : ID3D10Resource { 614 HRESULT Map( 615 D3D10_MAP MapType, 616 UINT MapFlags, 617 void** ppData); 618 void Unmap(); 619 void GetDesc(D3D10_BUFFER_DESC* pDesc); 620 621 } 622 623 struct D3D10_TEXTURE1D_DESC 624 { 625 UINT Width; 626 UINT MipLevels; 627 UINT ArraySize; 628 DXGI_FORMAT Format; 629 D3D10_USAGE Usage; 630 UINT BindFlags; 631 UINT CPUAccessFlags; 632 UINT MiscFlags; 633 } 634 635 mixin(uuid!(ID3D10Texture1D, "9B7E4C03-342C-4106-A19F-4F2704F689F0")); 636 extern (C++) interface ID3D10Texture1D : ID3D10Resource { 637 HRESULT Map( 638 UINT Subresource, 639 D3D10_MAP MapType, 640 UINT MapFlags, 641 void** ppData); 642 643 void Unmap(UINT Subresource); 644 645 void GetDesc(D3D10_TEXTURE1D_DESC* pDesc); 646 } 647 648 struct D3D10_TEXTURE2D_DESC 649 { 650 UINT Width; 651 UINT Height; 652 UINT MipLevels; 653 UINT ArraySize; 654 DXGI_FORMAT Format; 655 DXGI_SAMPLE_DESC SampleDesc; 656 D3D10_USAGE Usage; 657 UINT BindFlags; 658 UINT CPUAccessFlags; 659 UINT MiscFlags; 660 } 661 662 struct D3D10_MAPPED_TEXTURE2D 663 { 664 void* pData; 665 UINT RowPitch; 666 } 667 668 mixin(uuid!(ID3D10Texture2D, "9B7E4C04-342C-4106-A19F-4F2704F689F0")); 669 extern (C++) interface ID3D10Texture2D : ID3D10Resource { 670 HRESULT Map( 671 UINT Subresource, 672 D3D10_MAP MapType, 673 UINT MapFlags, 674 D3D10_MAPPED_TEXTURE2D* pMappedTex2D); 675 676 void Unmap(UINT Subresource); 677 678 void GetDesc(D3D10_TEXTURE2D_DESC* pDesc); 679 } 680 681 struct D3D10_TEXTURE3D_DESC 682 { 683 UINT Width; 684 UINT Height; 685 UINT Depth; 686 UINT MipLevels; 687 DXGI_FORMAT Format; 688 D3D10_USAGE Usage; 689 UINT BindFlags; 690 UINT CPUAccessFlags; 691 UINT MiscFlags; 692 } 693 694 struct D3D10_MAPPED_TEXTURE3D 695 { 696 void* pData; 697 UINT RowPitch; 698 UINT DepthPitch; 699 } 700 701 mixin(uuid!(ID3D10Texture3D, "9B7E4C05-342C-4106-A19F-4F2704F689F0")); 702 extern (C++) interface ID3D10Texture3D : ID3D10Resource { 703 HRESULT Map( 704 UINT Subresource, 705 D3D10_MAP MapType, 706 UINT MapFlags, 707 D3D10_MAPPED_TEXTURE3D* pMappedTex3D); 708 709 void Unmap(UINT Subresource); 710 711 void GetDesc(D3D10_TEXTURE3D_DESC* pDesc); 712 } 713 714 enum D3D10_TEXTURECUBE_FACE 715 { 716 D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0, 717 D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1, 718 D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2, 719 D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3, 720 D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4, 721 D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5 722 } 723 724 mixin(uuid!(ID3D10View, "C902B03F-60A7-49BA-9936-2A3AB37A7E33")); 725 extern (C++) interface ID3D10View : ID3D10DeviceChild { 726 void GetResource(ID3D10Resource* ppResource); 727 } 728 729 struct D3D10_BUFFER_SRV 730 { 731 union 732 { 733 UINT FirstElement; 734 UINT ElementOffset; 735 } 736 union 737 { 738 UINT NumElements; 739 UINT ElementWidth; 740 } 741 } 742 743 struct D3D10_TEX1D_SRV 744 { 745 UINT MostDetailedMip; 746 UINT MipLevels; 747 } 748 749 struct D3D10_TEX1D_ARRAY_SRV 750 { 751 UINT MostDetailedMip; 752 UINT MipLevels; 753 UINT FirstArraySlice; 754 UINT ArraySize; 755 } 756 757 struct D3D10_TEX2D_SRV 758 { 759 UINT MostDetailedMip; 760 UINT MipLevels; 761 } 762 763 struct D3D10_TEX2D_ARRAY_SRV 764 { 765 UINT MostDetailedMip; 766 UINT MipLevels; 767 UINT FirstArraySlice; 768 UINT ArraySize; 769 } 770 771 struct D3D10_TEX3D_SRV 772 { 773 UINT MostDetailedMip; 774 UINT MipLevels; 775 } 776 777 struct D3D10_TEXCUBE_SRV 778 { 779 UINT MostDetailedMip; 780 UINT MipLevels; 781 } 782 783 struct D3D10_TEX2DMS_SRV 784 { 785 UINT UnusedField_NothingToDefine; 786 } 787 788 struct D3D10_TEX2DMS_ARRAY_SRV 789 { 790 UINT FirstArraySlice; 791 UINT ArraySize; 792 } 793 794 struct D3D10_SHADER_RESOURCE_VIEW_DESC 795 { 796 DXGI_FORMAT Format; 797 D3D10_SRV_DIMENSION ViewDimension; 798 union 799 { 800 D3D10_BUFFER_SRV Buffer; 801 D3D10_TEX1D_SRV Texture1D; 802 D3D10_TEX1D_ARRAY_SRV Texture1DArray; 803 D3D10_TEX2D_SRV Texture2D; 804 D3D10_TEX2D_ARRAY_SRV Texture2DArray; 805 D3D10_TEX2DMS_SRV Texture2DMS; 806 D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray; 807 D3D10_TEX3D_SRV Texture3D; 808 D3D10_TEXCUBE_SRV TextureCube; 809 } 810 } 811 812 mixin(uuid!(ID3D10ShaderResourceView, "9B7E4C07-342C-4106-A19F-4F2704F689F0")); 813 extern (C++) interface ID3D10ShaderResourceView : ID3D10View { 814 void GetDesc(D3D10_SHADER_RESOURCE_VIEW_DESC* pDesc); 815 } 816 817 struct D3D10_BUFFER_RTV 818 { 819 union 820 { 821 UINT FirstElement; 822 UINT ElementOffset; 823 } 824 union 825 { 826 UINT NumElements; 827 UINT ElementWidth; 828 } 829 } 830 831 struct D3D10_TEX1D_RTV 832 { 833 UINT MipSlice; 834 } 835 836 struct D3D10_TEX1D_ARRAY_RTV 837 { 838 UINT MipSlice; 839 UINT FirstArraySlice; 840 UINT ArraySize; 841 } 842 843 struct D3D10_TEX2D_RTV 844 { 845 UINT MipSlice; 846 } 847 848 struct D3D10_TEX2DMS_RTV 849 { 850 UINT UnusedField_NothingToDefine; 851 } 852 853 struct D3D10_TEX2D_ARRAY_RTV 854 { 855 UINT MipSlice; 856 UINT FirstArraySlice; 857 UINT ArraySize; 858 } 859 860 struct D3D10_TEX2DMS_ARRAY_RTV 861 { 862 UINT FirstArraySlice; 863 UINT ArraySize; 864 } 865 866 struct D3D10_TEX3D_RTV 867 { 868 UINT MipSlice; 869 UINT FirstWSlice; 870 UINT WSize; 871 } 872 873 struct D3D10_RENDER_TARGET_VIEW_DESC 874 { 875 DXGI_FORMAT Format; 876 D3D10_RTV_DIMENSION ViewDimension; 877 union 878 { 879 D3D10_BUFFER_RTV Buffer; 880 D3D10_TEX1D_RTV Texture1D; 881 D3D10_TEX1D_ARRAY_RTV Texture1DArray; 882 D3D10_TEX2D_RTV Texture2D; 883 D3D10_TEX2D_ARRAY_RTV Texture2DArray; 884 D3D10_TEX2DMS_RTV Texture2DMS; 885 D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray; 886 D3D10_TEX3D_RTV Texture3D; 887 } 888 } 889 890 mixin(uuid!(ID3D10RenderTargetView, "9B7E4C08-342C-4106-A19F-4F2704F689F0")); 891 extern (C++) interface ID3D10RenderTargetView : ID3D10View { 892 void GetDesc(D3D10_RENDER_TARGET_VIEW_DESC* pDesc); 893 894 } 895 896 struct D3D10_TEX1D_DSV 897 { 898 UINT MipSlice; 899 } 900 901 struct D3D10_TEX1D_ARRAY_DSV 902 { 903 UINT MipSlice; 904 UINT FirstArraySlice; 905 UINT ArraySize; 906 } 907 908 struct D3D10_TEX2D_DSV 909 { 910 UINT MipSlice; 911 } 912 913 struct D3D10_TEX2D_ARRAY_DSV 914 { 915 UINT MipSlice; 916 UINT FirstArraySlice; 917 UINT ArraySize; 918 } 919 920 struct D3D10_TEX2DMS_DSV 921 { 922 UINT UnusedField_NothingToDefine; 923 } 924 925 struct D3D10_TEX2DMS_ARRAY_DSV 926 { 927 UINT FirstArraySlice; 928 UINT ArraySize; 929 } 930 931 struct D3D10_DEPTH_STENCIL_VIEW_DESC 932 { 933 DXGI_FORMAT Format; 934 D3D10_DSV_DIMENSION ViewDimension; 935 union 936 { 937 D3D10_TEX1D_DSV Texture1D; 938 D3D10_TEX1D_ARRAY_DSV Texture1DArray; 939 D3D10_TEX2D_DSV Texture2D; 940 D3D10_TEX2D_ARRAY_DSV Texture2DArray; 941 D3D10_TEX2DMS_DSV Texture2DMS; 942 D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray; 943 } 944 } 945 946 mixin(uuid!(ID3D10DepthStencilView, "9B7E4C09-342C-4106-A19F-4F2704F689F0")); 947 extern (C++) interface ID3D10DepthStencilView : ID3D10View { 948 void GetDesc(D3D10_DEPTH_STENCIL_VIEW_DESC* pDesc); 949 950 } 951 952 mixin(uuid!(ID3D10VertexShader, "9B7E4C0A-342C-4106-A19F-4F2704F689F0")); 953 extern (C++) interface ID3D10VertexShader : ID3D10DeviceChild {} 954 955 mixin(uuid!(ID3D10GeometryShader, "6316BE88-54CD-4040-AB44-20461BC81F68")); 956 extern (C++) interface ID3D10GeometryShader : ID3D10DeviceChild {} 957 958 mixin(uuid!(ID3D10PixelShader, "4968B601-9D00-4cde-8346-8E7F675819B6")); 959 extern (C++) interface ID3D10PixelShader : ID3D10DeviceChild {} 960 961 mixin(uuid!(ID3D10InputLayout, "9B7E4C0B-342C-4106-A19F-4F2704F689F0")); 962 extern (C++) interface ID3D10InputLayout : ID3D10DeviceChild {} 963 964 alias DWORD D3D10_FILTER; 965 enum : D3D10_FILTER 966 { 967 D3D10_FILTER_MIN_MAG_MIP_POINT = 0, 968 D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, 969 D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, 970 D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, 971 D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, 972 D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, 973 D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, 974 D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15, 975 D3D10_FILTER_ANISOTROPIC = 0x55, 976 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, 977 D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, 978 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, 979 D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, 980 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, 981 D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, 982 D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, 983 D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, 984 D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5, 985 D3D10_FILTER_TEXT_1BIT = 0x80000000 986 } 987 988 alias DWORD D3D10_FILTER_TYPE; 989 enum : D3D10_FILTER_TYPE 990 { 991 D3D10_FILTER_TYPE_POINT = 0, 992 D3D10_FILTER_TYPE_LINEAR = 1 993 } 994 995 enum D3D10_FILTER_TYPE_MASK = ( 0x3 ); 996 enum D3D10_MIN_FILTER_SHIFT = ( 4 ); 997 enum D3D10_MAG_FILTER_SHIFT = ( 2 ); 998 enum D3D10_MIP_FILTER_SHIFT = ( 0 ); 999 enum D3D10_COMPARISON_FILTERING_BIT = ( 0x80 ); 1000 enum D3D10_ANISOTROPIC_FILTERING_BIT= ( 0x40 ); 1001 enum D3D10_TEXT_1BIT_BIT = ( 0x80000000 ); 1002 1003 pure nothrow @safe @nogc { 1004 D3D10_FILTER D3D10_ENCODE_BASIC_FILTER(D3D10_FILTER_TYPE min, D3D10_FILTER_TYPE mag, D3D10_FILTER_TYPE mip, bool bComparison ) { 1005 return cast(D3D10_FILTER) 1006 ((bComparison ? D3D10_COMPARISON_FILTERING_BIT : 0 ) | 1007 ((min & D3D10_FILTER_TYPE_MASK) << D3D10_MIN_FILTER_SHIFT) | 1008 ((mag & D3D10_FILTER_TYPE_MASK) << D3D10_MAG_FILTER_SHIFT) | 1009 ((mip & D3D10_FILTER_TYPE_MASK) << D3D10_MIP_FILTER_SHIFT)); 1010 } 1011 1012 D3D10_FILTER D3D10_ENCODE_ANISOTROPIC_FILTER(bool bComparison) { 1013 return cast (D3D10_FILTER) 1014 (D3D10_ANISOTROPIC_FILTERING_BIT | 1015 D3D10_ENCODE_BASIC_FILTER(D3D10_FILTER_TYPE_LINEAR, 1016 D3D10_FILTER_TYPE_LINEAR, 1017 D3D10_FILTER_TYPE_LINEAR, 1018 bComparison)); 1019 } 1020 1021 D3D10_FILTER_TYPE D3D10_DECODE_MIN_FILTER(D3D10_FILTER d3d10Filter) { 1022 return cast(D3D10_FILTER_TYPE) 1023 ((d3d10Filter >> D3D10_MIN_FILTER_SHIFT) & D3D10_FILTER_TYPE_MASK); 1024 } 1025 1026 D3D10_FILTER_TYPE D3D10_DECODE_MAG_FILTER(D3D10_FILTER d3d10Filter) { 1027 return cast(D3D10_FILTER_TYPE) 1028 ((d3d10Filter >> D3D10_MAG_FILTER_SHIFT) & D3D10_FILTER_TYPE_MASK); 1029 } 1030 1031 D3D10_FILTER_TYPE D3D10_DECODE_MIP_FILTER(D3D10_FILTER d3d10Filter) { 1032 return cast(D3D10_FILTER_TYPE) 1033 ((d3d10Filter >> D3D10_MIP_FILTER_SHIFT) & D3D10_FILTER_TYPE_MASK); 1034 } 1035 1036 bool D3D10_DECODE_IS_COMPARISON_FILTER(D3D10_FILTER d3d10Filter) { 1037 return (d3d10Filter & D3D10_COMPARISON_FILTERING_BIT) != 0; 1038 } 1039 1040 bool D3D10_DECODE_IS_ANISOTROPIC_FILTER(D3D10_FILTER d3d10Filter) { 1041 return ((d3d10Filter & D3D10_ANISOTROPIC_FILTERING_BIT) && 1042 (D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_FILTER(d3d10Filter)) && 1043 (D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_FILTER(d3d10Filter)) && 1044 (D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_FILTER(d3d10Filter))); 1045 } 1046 1047 bool D3D10_DECODE_IS_TEXT_1BIT_FILTER(D3D10_FILTER d3d10Filter) { 1048 return d3d10Filter == D3D10_TEXT_1BIT_BIT; 1049 } 1050 } 1051 1052 alias DWORD D3D10_TEXTURE_ADDRESS_MODE; 1053 enum : D3D10_TEXTURE_ADDRESS_MODE 1054 { 1055 D3D10_TEXTURE_ADDRESS_WRAP = 1, 1056 D3D10_TEXTURE_ADDRESS_MIRROR = 2, 1057 D3D10_TEXTURE_ADDRESS_CLAMP = 3, 1058 D3D10_TEXTURE_ADDRESS_BORDER = 4, 1059 D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5 1060 } 1061 1062 struct D3D10_SAMPLER_DESC 1063 { 1064 D3D10_FILTER Filter; 1065 D3D10_TEXTURE_ADDRESS_MODE AddressU; 1066 D3D10_TEXTURE_ADDRESS_MODE AddressV; 1067 D3D10_TEXTURE_ADDRESS_MODE AddressW; 1068 FLOAT MipLODBias; 1069 UINT MaxAnisotropy; 1070 D3D10_COMPARISON_FUNC ComparisonFunc; 1071 FLOAT[4] BorderColor; 1072 FLOAT MinLOD; 1073 FLOAT MaxLOD; 1074 } 1075 1076 mixin(uuid!(ID3D10SamplerState, "9B7E4C0C-342C-4106-A19F-4F2704F689F0")); 1077 extern (C++) interface ID3D10SamplerState : ID3D10DeviceChild { 1078 void GetDesc(D3D10_SAMPLER_DESC* pDesc); 1079 } 1080 1081 enum D3D10_FORMAT_SUPPORT 1082 { 1083 D3D10_FORMAT_SUPPORT_BUFFER = 0x1, 1084 D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2, 1085 D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4, 1086 D3D10_FORMAT_SUPPORT_SO_BUFFER = 0x8, 1087 D3D10_FORMAT_SUPPORT_TEXTURE1D = 0x10, 1088 D3D10_FORMAT_SUPPORT_TEXTURE2D = 0x20, 1089 D3D10_FORMAT_SUPPORT_TEXTURE3D = 0x40, 1090 D3D10_FORMAT_SUPPORT_TEXTURECUBE = 0x80, 1091 D3D10_FORMAT_SUPPORT_SHADER_LOAD = 0x100, 1092 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200, 1093 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400, 1094 D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800, 1095 D3D10_FORMAT_SUPPORT_MIP = 0x1000, 1096 D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000, 1097 D3D10_FORMAT_SUPPORT_RENDER_TARGET = 0x4000, 1098 D3D10_FORMAT_SUPPORT_BLENDABLE = 0x8000, 1099 D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000, 1100 D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000, 1101 D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000, 1102 D3D10_FORMAT_SUPPORT_DISPLAY = 0x80000, 1103 D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000, 1104 D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000, 1105 D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000, 1106 D3D10_FORMAT_SUPPORT_SHADER_GATHER = 0x800000, 1107 D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000 1108 } 1109 1110 mixin(uuid!(ID3D10Asynchronous, "9B7E4C0D-342C-4106-A19F-4F2704F689F0")); 1111 extern (C++) interface ID3D10Asynchronous : ID3D10DeviceChild { 1112 void Begin(); 1113 void End(); 1114 HRESULT GetData( 1115 void* pData, 1116 UINT DataSize, 1117 UINT GetDataFlags); 1118 UINT GetDataSize(); 1119 } 1120 1121 enum D3D10_ASYNC_GETDATA_FLAG 1122 { 1123 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1 1124 } 1125 1126 enum D3D10_QUERY 1127 { 1128 D3D10_QUERY_EVENT = 0, 1129 D3D10_QUERY_OCCLUSION = ( D3D10_QUERY_EVENT + 1 ) , 1130 D3D10_QUERY_TIMESTAMP = ( D3D10_QUERY_OCCLUSION + 1 ) , 1131 D3D10_QUERY_TIMESTAMP_DISJOINT = ( D3D10_QUERY_TIMESTAMP + 1 ) , 1132 D3D10_QUERY_PIPELINE_STATISTICS = ( D3D10_QUERY_TIMESTAMP_DISJOINT + 1 ) , 1133 D3D10_QUERY_OCCLUSION_PREDICATE = ( D3D10_QUERY_PIPELINE_STATISTICS + 1 ) , 1134 D3D10_QUERY_SO_STATISTICS = ( D3D10_QUERY_OCCLUSION_PREDICATE + 1 ) , 1135 D3D10_QUERY_SO_OVERFLOW_PREDICATE = ( D3D10_QUERY_SO_STATISTICS + 1 ) 1136 } 1137 1138 alias DWORD D3D10_QUERY_MISC_FLAG; 1139 enum : D3D10_QUERY_MISC_FLAG 1140 { 1141 D3D10_QUERY_MISC_PREDICATEHINT = 0x1 1142 } 1143 1144 struct D3D10_QUERY_DESC 1145 { 1146 D3D10_QUERY Query; 1147 UINT MiscFlags; 1148 } 1149 1150 mixin(uuid!(ID3D10Query, "9B7E4C0E-342C-4106-A19F-4F2704F689F0")); 1151 extern (C++) interface ID3D10Query : ID3D10Asynchronous { 1152 void GetDesc(D3D10_QUERY_DESC* pDesc); 1153 } 1154 1155 mixin(uuid!(ID3D10Predicate, "9B7E4C10-342C-4106-A19F-4F2704F689F0")); 1156 extern (C++) interface ID3D10Predicate : ID3D10Query {} 1157 1158 struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT 1159 { 1160 UINT64 Frequency; 1161 BOOL Disjoint; 1162 } 1163 1164 struct D3D10_QUERY_DATA_PIPELINE_STATISTICS 1165 { 1166 UINT64 IAVertices; 1167 UINT64 IAPrimitives; 1168 UINT64 VSInvocations; 1169 UINT64 GSInvocations; 1170 UINT64 GSPrimitives; 1171 UINT64 CInvocations; 1172 UINT64 CPrimitives; 1173 UINT64 PSInvocations; 1174 } 1175 1176 struct D3D10_QUERY_DATA_SO_STATISTICS 1177 { 1178 UINT64 NumPrimitivesWritten; 1179 UINT64 PrimitivesStorageNeeded; 1180 } 1181 1182 alias DWORD D3D10_COUNTER; 1183 enum : D3D10_COUNTER 1184 { 1185 D3D10_COUNTER_GPU_IDLE = 0, 1186 D3D10_COUNTER_VERTEX_PROCESSING = ( D3D10_COUNTER_GPU_IDLE + 1 ) , 1187 D3D10_COUNTER_GEOMETRY_PROCESSING = ( D3D10_COUNTER_VERTEX_PROCESSING + 1 ) , 1188 D3D10_COUNTER_PIXEL_PROCESSING = ( D3D10_COUNTER_GEOMETRY_PROCESSING + 1 ) , 1189 D3D10_COUNTER_OTHER_GPU_PROCESSING = ( D3D10_COUNTER_PIXEL_PROCESSING + 1 ) , 1190 D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = ( D3D10_COUNTER_OTHER_GPU_PROCESSING + 1 ) , 1191 D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = ( D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION + 1 ) , 1192 D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION + 1 ) , 1193 D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION + 1 ) , 1194 D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION + 1 ) , 1195 D3D10_COUNTER_VS_MEMORY_LIMITED = ( D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION + 1 ) , 1196 D3D10_COUNTER_VS_COMPUTATION_LIMITED = ( D3D10_COUNTER_VS_MEMORY_LIMITED + 1 ) , 1197 D3D10_COUNTER_GS_MEMORY_LIMITED = ( D3D10_COUNTER_VS_COMPUTATION_LIMITED + 1 ) , 1198 D3D10_COUNTER_GS_COMPUTATION_LIMITED = ( D3D10_COUNTER_GS_MEMORY_LIMITED + 1 ) , 1199 D3D10_COUNTER_PS_MEMORY_LIMITED = ( D3D10_COUNTER_GS_COMPUTATION_LIMITED + 1 ) , 1200 D3D10_COUNTER_PS_COMPUTATION_LIMITED = ( D3D10_COUNTER_PS_MEMORY_LIMITED + 1 ) , 1201 D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = ( D3D10_COUNTER_PS_COMPUTATION_LIMITED + 1 ) , 1202 D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = ( D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE + 1 ) , 1203 D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000 1204 } 1205 1206 alias DWORD D3D10_COUNTER_TYPE; 1207 enum : D3D10_COUNTER_TYPE 1208 { 1209 D3D10_COUNTER_TYPE_FLOAT32 = 0, 1210 D3D10_COUNTER_TYPE_UINT16 = ( D3D10_COUNTER_TYPE_FLOAT32 + 1 ) , 1211 D3D10_COUNTER_TYPE_UINT32 = ( D3D10_COUNTER_TYPE_UINT16 + 1 ) , 1212 D3D10_COUNTER_TYPE_UINT64 = ( D3D10_COUNTER_TYPE_UINT32 + 1 ) 1213 } 1214 1215 struct D3D10_COUNTER_DESC 1216 { 1217 D3D10_COUNTER Counter; 1218 UINT MiscFlags; 1219 } 1220 1221 struct D3D10_COUNTER_INFO 1222 { 1223 D3D10_COUNTER LastDeviceDependentCounter; 1224 UINT NumSimultaneousCounters; 1225 UINT8 NumDetectableParallelUnits; 1226 } 1227 1228 mixin(uuid!(ID3D10Counter, "9B7E4C11-342C-4106-A19F-4F2704F689F0")); 1229 extern (C++) interface ID3D10Counter : ID3D10Asynchronous { 1230 void GetDesc(D3D10_COUNTER_DESC* pDesc); 1231 } 1232 1233 mixin(uuid!(ID3D10Device, "9B7E4C0F-342C-4106-A19F-4F2704F689F0")); 1234 extern (C++) interface ID3D10Device : IUnknown { 1235 void VSSetConstantBuffers( 1236 UINT StartSlot, 1237 UINT NumBuffers, 1238 const(ID3D10Buffer)* ppConstantBuffers); 1239 1240 void PSSetShaderResources( 1241 UINT StartSlot, 1242 UINT NumViews, 1243 const(ID3D10ShaderResourceView)* ppShaderResourceViews); 1244 1245 void PSSetShader(ID3D10PixelShader pPixelShader); 1246 1247 void PSSetSamplers( 1248 UINT StartSlot, 1249 UINT NumSamplers, 1250 const(ID3D10SamplerState)* ppSamplers); 1251 1252 void VSSetShader(ID3D10VertexShader* pVertexShader); 1253 1254 void DrawIndexed( 1255 UINT IndexCount, 1256 UINT StartIndexLocation, 1257 INT BaseVertexLocation); 1258 1259 void Draw( 1260 UINT VertexCount, 1261 UINT StartVertexLocation); 1262 1263 void PSSetConstantBuffers( 1264 UINT StartSlot, 1265 UINT NumBuffers, 1266 const(ID3D10Buffer)* ppConstantBuffers); 1267 1268 void IASetInputLayout(ID3D10InputLayout* pInputLayout); 1269 1270 void IASetVertexBuffers( 1271 UINT StartSlot, 1272 UINT NumBuffers, 1273 const(ID3D10Buffer)* ppVertexBuffers, 1274 const(UINT)* pStrides, 1275 const(UINT)* pOffsets); 1276 1277 void IASetIndexBuffer( 1278 ID3D10Buffer pIndexBuffer, 1279 DXGI_FORMAT Format, 1280 UINT Offset); 1281 1282 void DrawIndexedInstanced( 1283 UINT IndexCountPerInstance, 1284 UINT InstanceCount, 1285 UINT StartIndexLocation, 1286 INT BaseVertexLocation, 1287 UINT StartInstanceLocation); 1288 1289 void DrawInstanced( 1290 UINT VertexCountPerInstance, 1291 UINT InstanceCount, 1292 UINT StartVertexLocation, 1293 UINT StartInstanceLocation); 1294 1295 void GSSetConstantBuffers( 1296 UINT StartSlot, 1297 UINT NumBuffers, 1298 const(ID3D10Buffer)* ppConstantBuffers); 1299 1300 void GSSetShader(ID3D10GeometryShader pShader); 1301 1302 void IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY Topology); 1303 1304 void VSSetShaderResources( 1305 UINT StartSlot, 1306 UINT NumViews, 1307 const(ID3D10ShaderResourceView)* ppShaderResourceViews); 1308 1309 void VSSetSamplers( 1310 UINT StartSlot, 1311 UINT NumSamplers, 1312 const(ID3D10SamplerState)* ppSamplers); 1313 1314 void SetPredication( 1315 ID3D10Predicate pPredicate, 1316 BOOL PredicateValue); 1317 1318 void GSSetShaderResources( 1319 UINT StartSlot, 1320 UINT NumViews, 1321 const(ID3D10ShaderResourceView)* ppShaderResourceViews); 1322 1323 void GSSetSamplers( 1324 UINT StartSlot, 1325 UINT NumSamplers, 1326 const(ID3D10SamplerState)* ppSamplers); 1327 1328 void OMSetRenderTargets( 1329 UINT NumViews, 1330 const(ID3D10RenderTargetView)* ppRenderTargetViews, 1331 ID3D10DepthStencilView* pDepthStencilView); 1332 1333 void OMSetBlendState( 1334 ID3D10BlendState* pBlendState, 1335 const(FLOAT)[4] BlendFactor, 1336 UINT SampleMask); 1337 1338 void OMSetDepthStencilState( 1339 ID3D10DepthStencilState *pDepthStencilState, 1340 UINT StencilRef); 1341 1342 void SOSetTargets( 1343 UINT NumBuffers, 1344 const(ID3D10Buffer)* ppSOTargets, 1345 const(UINT)* pOffsets); 1346 1347 void DrawAuto(); 1348 1349 void RSSetState(ID3D10RasterizerState pRasterizerState); 1350 1351 void RSSetViewports( 1352 UINT NumViewports, 1353 const(D3D10_VIEWPORT)* pViewports); 1354 1355 void RSSetScissorRects( 1356 UINT NumRects, 1357 const(D3D10_RECT)* pRects); 1358 1359 void CopySubresourceRegion( 1360 ID3D10Resource pDstResource, 1361 UINT DstSubresource, 1362 UINT DstX, 1363 UINT DstY, 1364 UINT DstZ, 1365 ID3D10Resource pSrcResource, 1366 UINT SrcSubresource, 1367 const(D3D10_BOX)* pSrcBox); 1368 1369 void CopyResource( 1370 ID3D10Resource pDstResource, 1371 ID3D10Resource pSrcResource); 1372 1373 void UpdateSubresource( 1374 ID3D10Resource pDstResource, 1375 UINT DstSubresource, 1376 const(D3D10_BOX)* pDstBox, 1377 const(void)* pSrcData, 1378 UINT SrcRowPitch, 1379 UINT SrcDepthPitch); 1380 1381 void ClearRenderTargetView( 1382 ID3D10RenderTargetView pRenderTargetView, 1383 const(FLOAT)[4] ColorRGBA); 1384 1385 void ClearDepthStencilView( 1386 ID3D10DepthStencilView pDepthStencilView, 1387 UINT ClearFlags, 1388 FLOAT Depth, 1389 UINT8 Stencil); 1390 1391 void GenerateMips( 1392 ID3D10ShaderResourceView pShaderResourceView); 1393 1394 void ResolveSubresource( 1395 ID3D10Resource pDstResource, 1396 UINT DstSubresource, 1397 ID3D10Resource pSrcResource, 1398 UINT SrcSubresource, 1399 DXGI_FORMAT Format); 1400 1401 void VSGetConstantBuffers( 1402 UINT StartSlot, 1403 UINT NumBuffers, 1404 ID3D10Buffer* ppConstantBuffers); 1405 1406 void PSGetShaderResources( 1407 UINT StartSlot, 1408 UINT NumViews, 1409 ID3D10ShaderResourceView* ppShaderResourceViews); 1410 1411 void PSGetShader( 1412 ID3D10PixelShader* ppPixelShader); 1413 1414 void PSGetSamplers( 1415 UINT StartSlot, 1416 UINT NumSamplers, 1417 ID3D10SamplerState* ppSamplers); 1418 1419 void VSGetShader( 1420 ID3D10VertexShader* ppVertexShader); 1421 1422 void PSGetConstantBuffers( 1423 UINT StartSlot, 1424 UINT NumBuffers, 1425 ID3D10Buffer* ppConstantBuffers); 1426 1427 void IAGetInputLayout( 1428 ID3D10InputLayout* ppInputLayout); 1429 1430 void IAGetVertexBuffers( 1431 UINT StartSlot, 1432 UINT NumBuffers, 1433 ID3D10Buffer* ppVertexBuffers, 1434 UINT* pStrides, 1435 UINT* pOffsets); 1436 1437 void IAGetIndexBuffer( 1438 ID3D10Buffer* pIndexBuffer, 1439 DXGI_FORMAT* Format, 1440 UINT* Offset); 1441 1442 void GSGetConstantBuffers( 1443 UINT StartSlot, 1444 UINT NumBuffers, 1445 ID3D10Buffer* ppConstantBuffers); 1446 1447 void GSGetShader( 1448 ID3D10GeometryShader* ppGeometryShader); 1449 1450 void IAGetPrimitiveTopology( 1451 D3D10_PRIMITIVE_TOPOLOGY* pTopology); 1452 1453 void VSGetShaderResources( 1454 UINT StartSlot, 1455 UINT NumViews, 1456 ID3D10ShaderResourceView* ppShaderResourceViews); 1457 1458 void VSGetSamplers( 1459 UINT StartSlot, 1460 UINT NumSamplers, 1461 ID3D10SamplerState* ppSamplers); 1462 1463 void GetPredication( 1464 ID3D10Predicate* ppPredicate, 1465 BOOL* pPredicateValue); 1466 1467 void GSGetShaderResources( 1468 UINT StartSlot, 1469 UINT NumViews, 1470 ID3D10ShaderResourceView* ppShaderResourceViews); 1471 1472 void GSGetSamplers( 1473 UINT StartSlot, 1474 UINT NumSamplers, 1475 ID3D10SamplerState* ppSamplers); 1476 1477 void OMGetRenderTargets( 1478 UINT NumViews, 1479 ID3D10RenderTargetView* ppRenderTargetViews, 1480 ID3D10DepthStencilView* ppDepthStencilView); 1481 1482 void OMGetBlendState( 1483 ID3D10BlendState* ppBlendState, 1484 FLOAT[4] BlendFactor, 1485 UINT* pSampleMask); 1486 1487 void OMGetDepthStencilState( 1488 ID3D10DepthStencilState* ppDepthStencilState, 1489 UINT* pStencilRef); 1490 1491 void SOGetTargets( 1492 UINT NumBuffers, 1493 ID3D10Buffer* ppSOTargets, 1494 UINT* pOffsets); 1495 1496 void RSGetState( 1497 ID3D10RasterizerState* ppRasterizerState); 1498 1499 void RSGetViewports( 1500 UINT* NumViewports, 1501 D3D10_VIEWPORT* pViewports); 1502 1503 void RSGetScissorRects( 1504 UINT* NumRects, 1505 D3D10_RECT* pRects); 1506 1507 HRESULT GetDeviceRemovedReason(); 1508 1509 HRESULT SetExceptionMode( 1510 UINT RaiseFlags); 1511 1512 UINT GetExceptionMode(); 1513 1514 HRESULT GetPrivateData( 1515 REFGUID guid, 1516 UINT* pDataSize, 1517 void* pData); 1518 1519 HRESULT SetPrivateData( 1520 REFGUID guid, 1521 UINT DataSize, 1522 const(void)* pData); 1523 1524 HRESULT SetPrivateDataInterface( 1525 REFGUID guid, 1526 const IUnknown pData); 1527 1528 void ClearState(); 1529 1530 void Flush(); 1531 1532 HRESULT CreateBuffer( 1533 const(D3D10_BUFFER_DESC)* pDesc, 1534 const(D3D10_SUBRESOURCE_DATA)* pInitialData, 1535 ID3D10Buffer* ppBuffer); 1536 1537 HRESULT CreateTexture1D( 1538 const(D3D10_TEXTURE1D_DESC)* pDesc, 1539 const(D3D10_SUBRESOURCE_DATA)* pInitialData, 1540 ID3D10Texture1D* ppTexture1D); 1541 1542 HRESULT CreateTexture2D( 1543 const(D3D10_TEXTURE2D_DESC)* pDesc, 1544 const(D3D10_SUBRESOURCE_DATA)* pInitialData, 1545 ID3D10Texture2D* ppTexture2D); 1546 1547 HRESULT CreateTexture3D( 1548 const(D3D10_TEXTURE3D_DESC)* pDesc, 1549 const(D3D10_SUBRESOURCE_DATA)* pInitialData, 1550 ID3D10Texture3D* ppTexture3D); 1551 1552 HRESULT CreateShaderResourceView( 1553 ID3D10Resource pResource, 1554 const(D3D10_SHADER_RESOURCE_VIEW_DESC)* pDesc, 1555 ID3D10ShaderResourceView* ppSRView); 1556 1557 HRESULT CreateRenderTargetView( 1558 ID3D10Resource pResource, 1559 const(D3D10_RENDER_TARGET_VIEW_DESC)* pDesc, 1560 ID3D10RenderTargetView* ppRTView); 1561 1562 HRESULT CreateDepthStencilView( 1563 ID3D10Resource pResource, 1564 const(D3D10_DEPTH_STENCIL_VIEW_DESC)* pDesc, 1565 ID3D10DepthStencilView* ppDepthStencilView); 1566 1567 HRESULT CreateInputLayout( 1568 const(D3D10_INPUT_ELEMENT_DESC)* pInputElementDescs, 1569 UINT NumElements, 1570 const(void)* pShaderBytecodeWithInputSignature, 1571 SIZE_T BytecodeLength, 1572 ID3D10InputLayout* ppInputLayout); 1573 1574 HRESULT CreateVertexShader( 1575 const(void)* pShaderBytecode, 1576 SIZE_T BytecodeLength, 1577 ID3D10VertexShader* ppVertexShader); 1578 1579 HRESULT CreateGeometryShader( 1580 const(void)* pShaderBytecode, 1581 SIZE_T BytecodeLength, 1582 ID3D10GeometryShader* ppGeometryShader); 1583 1584 HRESULT CreateGeometryShaderWithStreamOutput( 1585 const(void)* pShaderBytecode, 1586 SIZE_T BytecodeLength, 1587 const(D3D10_SO_DECLARATION_ENTRY)* pSODeclaration, 1588 UINT NumEntries, 1589 UINT OutputStreamStride, 1590 ID3D10GeometryShader* ppGeometryShader); 1591 1592 HRESULT CreatePixelShader( 1593 const(void)* pShaderBytecode, 1594 SIZE_T BytecodeLength, 1595 ID3D10PixelShader* ppPixelShader); 1596 1597 HRESULT CreateBlendState( 1598 const(D3D10_BLEND_DESC)* pBlendStateDesc, 1599 ID3D10BlendState* ppBlendState); 1600 1601 HRESULT CreateDepthStencilState( 1602 const(D3D10_DEPTH_STENCIL_DESC)* pDepthStencilDesc, 1603 ID3D10DepthStencilState* ppDepthStencilState); 1604 1605 HRESULT CreateRasterizerState( 1606 const(D3D10_RASTERIZER_DESC)* pRasterizerDesc, 1607 ID3D10RasterizerState* ppRasterizerState); 1608 1609 HRESULT CreateSamplerState( 1610 const(D3D10_SAMPLER_DESC)* pSamplerDesc, 1611 ID3D10SamplerState* ppSamplerState); 1612 1613 HRESULT CreateQuery( 1614 const(D3D10_QUERY_DESC)* pQueryDesc, 1615 ID3D10Query* ppQuery); 1616 1617 HRESULT CreatePredicate( 1618 const(D3D10_QUERY_DESC)* pPredicateDesc, 1619 ID3D10Predicate* ppPredicate); 1620 1621 HRESULT CreateCounter( 1622 const(D3D10_COUNTER_DESC)* pCounterDesc, 1623 ID3D10Counter* ppCounter); 1624 1625 HRESULT CheckFormatSupport( 1626 DXGI_FORMAT Format, 1627 UINT* pFormatSupport); 1628 1629 HRESULT CheckMultisampleQualityLevels( 1630 DXGI_FORMAT Format, 1631 UINT SampleCount, 1632 UINT* pNumQualityLevels); 1633 1634 void CheckCounterInfo( 1635 D3D10_COUNTER_INFO* pCounterInfo); 1636 1637 HRESULT CheckCounter( 1638 const(D3D10_COUNTER_DESC)* pDesc, 1639 D3D10_COUNTER_TYPE* pType, 1640 UINT* pActiveCounters, 1641 LPSTR szName, 1642 UINT* pNameLength, 1643 LPSTR szUnits, 1644 UINT* pUnitsLength, 1645 LPSTR szDescription, 1646 UINT* pDescriptionLength); 1647 1648 UINT GetCreationFlags(); 1649 1650 HRESULT OpenSharedResource( 1651 HANDLE hResource, 1652 REFIID ReturnedInterface, 1653 void** ppResource); 1654 1655 void SetTextFilterSize( 1656 UINT Width, 1657 UINT Height); 1658 1659 void GetTextFilterSize( 1660 UINT* pWidth, 1661 UINT* pHeight); 1662 1663 } 1664 1665 mixin(uuid!(ID3D10Multithread, "9B7E4E00-342C-4106-A19F-4F2704F689F0")); 1666 extern (C++) interface ID3D10Multithread : IUnknown { 1667 void Enter(); 1668 void Leave(); 1669 BOOL SetMultithreadProtected(BOOL bMTProtect); 1670 BOOL GetMultithreadProtected(); 1671 } 1672 1673 alias DWORD D3D10_CREATE_DEVICE_FLAG; 1674 enum : D3D10_CREATE_DEVICE_FLAG 1675 { 1676 D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1, 1677 D3D10_CREATE_DEVICE_DEBUG = 0x2, 1678 D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4, 1679 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8, 1680 D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10, 1681 D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20, 1682 D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80, 1683 D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200, 1684 D3D10_CREATE_DEVICE_DEBUGGABLE = 0x400 1685 } 1686 1687 enum D3D10_SDK_VERSION = ( 29 );